package com.qqtech.qquan.order.model;

import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import com.qqtech.core.frame.model.BaseDomain;

/**
 * 微信订单支付参数
 * 
 * @author andy.wangzhh
 *
 */
@SuppressWarnings("serial")
public class OrderWxpayConfigBean extends BaseDomain {
	/**
	 * 应用ID
	 */
	private String appId;
	/**
	 * 商户号
	 */
	private String partnerId;
	/**
	 * apiKey
	 */
	private String apiKey;
	/**
	 * 微信统一支付接口
	 */
	private String postUrl;
	/**
	 * 预支付交易会话标识
	 */
	private String prepayId;

	private String packageStr;
	/**
	 * 随机字符串，不长于32位
	 */
	private String nonceStr;
	/**
	 * 当前时间戳
	 */
	private String timeStamp;
	/**
	 * 签名
	 */
	private String sign;
	/**
	 * 商品描述
	 */
	private String body;
	/**
	 * 商户订单号,32个字符内
	 */
	private String outTradeNo;
	/**
	 * 支付金额,单位为分
	 */
	private int totalFee;
	/**
	 * 终端IP
	 */
	private String spbillCreateIp;
	/**
	 * 异步通知回调地址
	 */
	private String notifyUrl;
	/**
	 * 支付类型:APP
	 */
	private String tradeType;
	/**
	 * 字符编码格式如gbk或utf-8
	 */
	private String inputCharset;

	/**
	 * 附加数据。附加数据，在查询API和支付通知中原样返回，该字段主要用于商户携带订单的自定义数据
	 */
	private String attach;

	public String getAppId() {
		return appId;
	}

	public void setAppId(String appId) {
		this.appId = appId;
	}

	public String getPartnerId() {
		return partnerId;
	}

	public void setPartnerId(String partnerId) {
		this.partnerId = partnerId;
	}

	public String getPrepayId() {
		return prepayId;
	}

	public void setPrepayId(String prepayId) {
		this.prepayId = prepayId;
	}

	public String getPackageStr() {
		return packageStr;
	}

	public void setPackageStr(String packageStr) {
		this.packageStr = packageStr;
	}

	public String getNonceStr() {
		return nonceStr;
	}

	public void setNonceStr(String nonceStr) {
		this.nonceStr = nonceStr;
	}

	public String getTimeStamp() {
		return timeStamp;
	}

	public void setTimeStamp(String timeStamp) {
		this.timeStamp = timeStamp;
	}

	public String getSign() {
		return sign;
	}

	public void setSign(String sign) {
		this.sign = sign;
	}

	public String getBody() {
		return body;
	}

	public void setBody(String body) {
		this.body = body;
	}

	public String getOutTradeNo() {
		return outTradeNo;
	}

	public void setOutTradeNo(String outTradeNo) {
		this.outTradeNo = outTradeNo;
	}

	public int getTotalFee() {
		return totalFee;
	}

	public void setTotalFee(int totalFee) {
		this.totalFee = totalFee;
	}

	public String getSpbillCreateIp() {
		return spbillCreateIp;
	}

	public void setSpbillCreateIp(String spbillCreateIp) {
		this.spbillCreateIp = spbillCreateIp;
	}

	public String getNotifyUrl() {
		return notifyUrl;
	}

	public void setNotifyUrl(String notifyUrl) {
		this.notifyUrl = notifyUrl;
	}

	public String getTradeType() {
		return tradeType;
	}

	public void setTradeType(String tradeType) {
		this.tradeType = tradeType;
	}

	public String getInputCharset() {
		return inputCharset;
	}

	public void setInputCharset(String inputCharset) {
		this.inputCharset = inputCharset;
	}

	public String getApiKey() {
		return apiKey;
	}

	public void setApiKey(String apiKey) {
		this.apiKey = apiKey;
	}

	public String getPostUrl() {
		return postUrl;
	}

	public void setPostUrl(String postUrl) {
		this.postUrl = postUrl;
	}

	public String getAttach() {
		return attach;
	}

	public void setAttach(String attach) {
		this.attach = attach;
	}

	@Override
	public String toString() {
		return ToStringBuilder.reflectionToString(this, ToStringStyle.MULTI_LINE_STYLE);
	}
}